package at.gv.bmwf.fons.model.view;

import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Observable;

import at.gv.bmwf.fons.model.ontology.AtomCollection;
import at.gv.bmwf.fons.model.ontology.Facet;

import com.google.common.collect.Lists;

public class DefaultViewModel implements ViewModel {
	private final List<AtomCollection> data = Lists.newArrayList();
	
	private final List<Facet> fixedFacets = Lists.newArrayList();
	private final List<Facet> staticFacets = Lists.newArrayList();
	private final List<ViewGroup> viewGroups = Lists.newArrayList();
	private final List<ViewElementComposition> elementCompositions = Lists.newArrayList();
	
	public DefaultViewModel (AtomCollection data) {
		this.data.add(data);
		
	}
	
	@Override
	public Collection<AtomCollection> getAtomCollections() {
		return Collections.unmodifiableList(data);
	}

	@Override
	public Collection<Facet> getFixedFacets() {
		return Collections.unmodifiableList(fixedFacets);
	}

	@Override
	public Collection<Facet> getStaticFacets() {
		return Collections.unmodifiableList(staticFacets);
	}

	@Override
	public Collection<ViewGroup> getFacetGroups() {
		return Collections.unmodifiableList(viewGroups);
	}

	@Override
	public Collection<ViewElementComposition> getElementCompositions() {
		return Collections.unmodifiableList(elementCompositions);
	}

	@Override
	public void changeStaticFacet(Facet from, Facet to) {
		// TODO Auto-generated method stub

	}

}
